package com.foreknow.demo20;

/**
 * 字符串中常用的方法使用
 * 1.对字符串的常用操作
 * 1.1 拼接字符串  String	concat(String str) 将指定字符串连接到此字符串的结尾。
 * 1.2 String	trim()
 *           返回字符串的副本，忽略前导空白和尾部空白。
 * 1.3 int	length()
 *           返回此字符串的长度。
 * 1.4 String[]	split(String regex)
 *           根据给定正则表达式的匹配拆分此字符串。
 * 1.5 String	toLowerCase()
 *           使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
 * 1.6 String	substring(int beginIndex, int endIndex)
 *           返回一个新字符串，它是此字符串的一个子字符串。
 *
 * String 与 StringBuffer的区别
 * String：是静态语句，只能拼接延长。不在原有的内存更改，而是新建一个内存，原有的垃圾回收了
 * StringBuffer：是动态语句，在原有的字符串的内存上进行更改
 *
 * StringBuilde 比 StringBuffer 效率高些
 */
public class StringDemo {
    public static void main(String[] args) {
        String name = "tom";
        String newName = name.concat(" hello");
        System.out.println(newName);//拼接字符串

        System.out.println("字符串的长度"+newName.length());//知道字符串的长度

        String s = "     这是一个字符串       ";
        System.out.println("trim截取后的字符串:"+s.trim());//去掉首尾空格

        System.out.println("------------------------------------");

        String s1 = "abc:def:ghi:test";//拆分字符串
        String[] result = s1.split(":");//用什么拆分填什么符号
        for(int i = 0;i<result.length;i++) {
            System.out.println(result[i]);
        }

        System.out.println("------------------------------------");
        String s2 = "LIKE";//字符都转换为小写
        System.out.println(s2.toLowerCase());

        System.out.println("-----------------------------------");
        //"hamburger".substring(4, 8) returns "urge"
//    String x3 = "hamburger";
//    String test = x3.substring(4,8);
        System.out.println("hamburger".substring(4, 8).toLowerCase());

        /**
         * stringBuffer
         */
        StringBuffer stringBuffer = new StringBuffer("test");
        stringBuffer.append("tom");
        stringBuffer.append("jazz");
        stringBuffer.append("fender");
        System.out.println(stringBuffer);


    }
}